
//
//  OneButtonCellData.h
//  18Birdies
//
//  Created by poleness on 2016/10/31.
//  Copyright © 2016年 Lc. All rights reserved.
//

#import "LcCellData.h"
#import "LcFoundation.h"

typedef enum {
  BUTTON_UNKNOWN_STYLE,
  BUTTON_BLUE_BORDER_STYLE,
  BUTTON_BLUE_BACKGROUND_STYLE,
  BUTTON_BLUE_LINEAR_GRADIENT_STYLE,
  BUTTON_WHITE_BACKGROUND_STYLE,
  BUTTON_GRAY_BACKGROUND_STYLE,
  BUTTON_GRAY_FONT_DISABLED_STYLE,
  BUTTON_RED_FONT_BORDER_STYLE,
  BUTTON_BLUE_FONT_GRAY_HIGHLITED_STYLE,
  BUTTON_BLUE_FONT_NO_BG_STYLE,
  BUTTON_BLUE_FONT_WHITE_BG_STYLE,
  BUTTON_DRAK_FONT_WHITE_BG_STYLE,
  BUTTON_RED_FONT_WHITE_BG_STYLE,
  BUTTON_WHITE_FONT_ORANGE_BG_STYLE,
  BUTTON_WHITE_FONT_LIGHT_ORANGE_BG_STYLE,
} ButtonStyle;

@interface OneButtonCellData : LcCellData

+ (instancetype)cellDataWithTitle:(NSString*)title
                      buttonStyle:(ButtonStyle)buttonStyle
                     buttonHeight:(int)buttonHeight
                    onClickHandle:(OnCellClickedHanlder)onCellClickedHanlder;

+ (instancetype)cellDataWithTitle:(NSString*)title
              backgroundImageName:(NSString*)backgroundImageName
                     buttonHeight:(int)buttonHeight
                    onClickHandle:(OnCellClickedHanlder)onCellClickedHanlder;

@property(nonatomic, copy) NSString* title;
@property(nonatomic, copy) NSAttributedString* attributedTitle;
@property(nonatomic, assign) ButtonStyle buttonStyle;
@property(nonatomic, assign) int buttonHeight;
@property(nonatomic, strong) OnCellClickedHanlder buttonClickedHandler;
@property(nonatomic, assign) UIEdgeInsets buttonEdgeInsets;
@property(nonatomic, copy) NSString* imageName;
@property(nonatomic, copy) NSString* imageNameForHighlighted;
@property(nonatomic, assign) CGFloat buttonRightMargin;
@property(nonatomic, assign) CGFloat buttonLeftMargin;
// default is white color
@property(nonatomic, strong) UIColor* backGroundColor;
@property(nonatomic, strong) UIColor* buttonBackGroundColor;
@property(nonatomic, strong) UIColor* buttonHighlitedBackGroundColor;
@property(nonatomic, strong) LcFont* buttonLcFont;
@property(nonatomic, strong) LcFont* buttonHighlitedFont;
@property(nonatomic, assign) CGFloat cornerRadius;
@property(nonatomic, assign) UIControlContentHorizontalAlignment contentHorizontalAlignment;
@property(nonatomic, assign) UIControlContentVerticalAlignment contentVerticalAlignment;

@property(nonatomic, assign) BOOL showHint;
@property(nonatomic, assign) BOOL showBottomShadow;

// backgroundimage
@property(nonatomic, copy) NSString* backgroundImageName;

@end
